#include <vector>
#include <iostream>
#include <fstream>

using namespace std;

//点
struct point{
    int x, y;
};

//矩形struc class
struct rect{
    point bl;
    point tr;

    int area(){
        int area = (tr.x-bl.x)*(tr.y-bl.y);
        if(area < 0){
            area = -area;
        }
        return area;
    }

    bool covered(point pt) {
        if(bl.x <= pt.x <= tr.x && bl.y <= pt.y <= tr.y){
            return true;
        }
        return false;
    }

};

int main(int argc, char const *argv[])
{
    // 作业1:
    // 根据题目要求从文件中读入 4 个点的坐标，生成对应的 Point 对象
    ifstream ifs("BlockedBillboard.in");
    ofstream ofs("BlockedBillboard.out");

    
    point tr1, bl1;  //割草机的2个点
    point tr2, bl2;  //牛饲料的2个点
 
    //读出割草机的两点
    ifs >> tr1.x >> tr1.y >> bl1.x >> bl1.y;
    //读出牛饲料的两点
    ifs >> tr2.x >> tr2.y >> bl2.x >> bl2.y;
    //定义割草机另外两个点
    point br1, tl1;
    //算出割草机另外两个点
    br1.x = tr1.x;
    br1.y = bl1.y; 
    
    tl1.x = bl1.x;
    tl1.y = tr1.y;
    
    // 作业2:
    // 根据得到的 Point 对象生成表示除草机和牛饲料广告牌的 Rect 对象
    //定义牛饲料矩形
    rect rt1, rt2;
    
    //初始化牛饲料矩形，或者赋point值
    rt1.bl.x = bl1.x;
    rt1.bl.y = bl1.y;
    rt1.tr.x = tr1.x;
    rt1.tr.y = tr1.y; 

    rt2.bl.x = bl2.x;
    rt2.bl.y = bl2.y;
    rt2.tr.x = tr2.x;
    rt2.tr.y = tr2.y;    
    
    // 作业3:
    // 判断除草机和牛饲料广告牌的遮挡情况
    // 当除草机广告牌一个角被遮住的情况，一个点在矩形，其他三点不在
    if(rt2.covered(bl1) && !rt2.covered(br1) && !rt2.covered(tr1) && !rt2.covered(tl1)){
        
    }
    else if(rt2.covered(bl1) && !rt2.covered(br1) && !rt2.covered(tr1) && !rt2.covered(tl1)){

    }
    else if()
    {

    }
    else if()
    {

    }
    // 当除草机广告牌两个角被遮住的情况，两点在矩形，其他两点不在
    // tr，br或者tl，bl被遮住，上下两点被遮住
    if( rt2.covered(bl1) && rt2.covered(tl1) && !rt2.covered(br1) && !rt2.covered(tr1)){

    }
    else if( rt2.covered(br1) && rt2.covered(tr1) && !rt2.covered(br1) &&  !rt2.covered(tr1)){
    }
    // tr，tl或者br，bl被遮住，左右两点被遮住


    // 当除草机广告牌四个角被遮住的情况，四点都在矩形
    if( rt2.covered(br1) && rt2.covered(tr1) && rt2.covered(br1) &&  rt2.covered(tr1)){
    }    

    return 0;
}
